﻿using Furion.FriendlyException;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FurStudy.Application
{
    /// <summary>
    /// 错误代码类型特性
    /// Furion框架提供了[ErrorCodeType]特性和IErrorCodeTypeProvider提供器接口来提供异常信息扫描，这里用的是[ErrorCodeType]特性类
    /// </summary>
    [ErrorCodeType]
    public enum ErrorCodes
    {
        [ErrorCodeItemMetadata("{0} 不能小于 {1}")]
        z1000,
        [ErrorCodeItemMetadata("数据不存在")]
        x1000,
        [ErrorCodeItemMetadata("{0} 发现 {1} 个异常", "百小僧", 2)]
        x1001,
        [ErrorCodeItemMetadata("服务器运行异常", ErrorCode = "Error")]
        SERVER_ERROR,
        [ErrorCodeItemMetadata("用户名不能为空")]
        z1001
    }

    /// <summary>
    /// 多个异常静态类中也必须保证常量值唯一性，不可重复
    /// </summary>
    [ErrorCodeType]
    public enum UserErrorCodes
    {
        [ErrorCodeItemMetadata("用户数据不存在")]
        u1000,
        [ErrorCodeItemMetadata("其他异常")]
        u1001
    }
}
